﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;

public partial class UpLoadAR : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        HttpPostedFile hfc = Request.Files["post"];
        //定义一个服务器和客户端通信的接口
        if (hfc != null)
        { 
            DirectoryInfo imageDic = new DirectoryInfo(HttpContext.Current.Request.MapPath("ARImages"));
            //DirectoryInfo 用于创建、移动和枚举目录和子目录的实例方法
            //制定了一个文件夹路径
            //ARImages 定义的储存AR模块上传图片的文件夹

            FileInfo[] imageFiles = imageDic.GetFiles();
            //从指定目录下获取文件 并且存储到FileInfo数组之中

           int index = Convert.ToInt32(imageFiles.Last().Name.Split('.')[0]);
            //imageFiles.Last从刚才获取到的文件数组中找到最后一个元素

            index++;
            //新保存的图片数字名称 要比之前最大的加1

            string countName = fmtCount(index);

            string ImageName = countName + ".jpg";
            //加上文件扩展名

            hfc.SaveAs(HttpContext.Current.Request.MapPath("ARImages") + "/" + ImageName);
            //将图片文件以ImageName的名称 保存在服务器的ARImage文件夹中

            Response.Write(countName);
            //给客户端发送新保存图片的数字名称 也是图片的提取码
        }
    }

    private string fmtCount(int count)
    {
        string countStr;
        //用来储存最后的图片数字名称

        if (count < 10)
        {
            countStr =  "00" + count.ToString();
            //如果数字小于10  标识个位数   那么需要转化为字符串后 在前面以字符串“00”来补位  变成三位数
        }

        else if(count<100)
        {
            countStr = "0" + count.ToString();
        }
        else
        {
            countStr = count.ToString();
        }

        return countStr;
    }
}